namespace ManagedFreeFrame.Enum
{
    /// <summary>
    /// Tells the host what kind of data the parameter is. Current meaningful values:
    /// </summary>
    /// <remarks>
    /// The range of values permitted for all variables (except text) is strictly 0-1. 
    /// This also holds for xpos/ypos variables (where, for example, xpos=0 corresponds to a screen x-coordinate of 0, and xpos=1 corresponds to an actual x-coordinate of FrameWidth-1. 
    /// See VideoInfoStruct).
    /// </remarks>
    public enum ParameterType
    {
        /// <summary>
        /// 0.0 defined as false and anything else defined as true - e.g. checkbox
        /// </summary>
        Boolean = 0,

        /// <summary>
        /// Similar to boolean but for a momentary push button style trigger. 1.0 is set momentarily to denote a simple event - e.g. pushbutton / keystroke. 
        /// </summary>
        Event = 1,

        /// <summary>
        /// The 3 colors e.g. for a colorpicker 
        /// </summary>
        Red = 2,

        /// <summary>
        /// The 3 colors e.g. for a colorpicker 
        /// </summary>
        Green = 3,

        /// <summary>
        /// The 3 colors e.g. for a colorpicker 
        /// </summary>
        Blue = 4,

        /// <summary>
        /// For x, y video interaction e.g. cursor - these should denote position within the video frames as specified in the VideoInfoStruct. 
        /// </summary>
        XPos = 5,

        /// <summary>
        /// For x, y video interaction e.g. cursor - these should denote position within the video frames as specified in the VideoInfoStruct. 
        /// </summary>
        Ypos = 6,

        /// <summary>
        /// A standard parameter representing an unspecified float value
        /// </summary>
        Standard = 10,

        /// <summary>
        /// A null terminated text input type - Note: only this type has a different data type for the moment 
        /// </summary>
        Text = 100,
    }
}